10 research outputs found

    Out-of-Order Retirement of Instructions in Superscalar, Multithreaded, and Multicore Processors

    Full text link
    Los procesadores superescalares actuales utilizan un reorder buffer (ROB) para contabilizar las instrucciones en vuelo. El ROB se implementa como una cola FIFO first in first out en la que las instrucciones se insertan en orden de programa después de ser decodificadas, y de la que se extraen también en orden de programa en la etapa commit. El uso de esta estructura proporciona un soporte simple para la especulación, las excepciones precisas y la reclamación de registros. Sin embargo, el hecho de retirar instrucciones en orden puede degradar las prestaciones si una operación de alta latencia está bloqueando la cabecera del ROB. Varias propuestas se han publicado atacando este problema. La mayoría utiliza retirada de instrucciones fuera de orden de forma especulativa, requiriendo almacenar puntos de recuperación (checkpoints) para restaurar un estado válido del procesador ante un fallo de especulación. Normalmente, los checkpoints necesitan implementarse con estructuras hardware costosas, y además requieren un crecimiento de otras estructuras del procesador, lo cual a su vez puede impactar en el tiempo de ciclo de reloj. Este problema afecta a muchos tipos de procesadores actuales, independientemente del número de hilos hardware (threads) y del número de núcleos de cómputo (cores) que incluyan. Esta tesis abarca el estudio de la retirada no especulativa de instrucciones fuera de orden en procesadores superescalares, multithread y multicore.Ubal Tena, R. (2010). Out-of-Order Retirement of Instructions in Superscalar, Multithreaded, and Multicore Processors [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/8535Palanci

    Hardware support for Local Memory Transactions on GPU Architectures

    Get PDF
    Graphics Processing Units (GPUs) are popular hardware accelerators for data-parallel applications, enabling the execution of thousands of threads in a Single Instruction - Multiple Thread (SIMT) fashion. However, the SIMT execution model is not efficient when code includes critical sections to protect the access to data shared by the running threads. In addition, GPUs offer two shared spaces to the threads, local memory and global memory. Typical solutions to thread synchronization include the use of atomics to implement locks, the serialization of the execution of the critical section, or delegating the execution of the critical section to the host CPU, leading to suboptimal performance. In the multi-core CPU world, transactional memory (TM) was proposed as an alternative to locks to coordinate concurrent threads. Some solutions for GPUs started to appear in the literature. In contrast to these earlier proposals, our approach is to design hardware support for TM in two levels. The first level is a fast and lightweight solution for coordinating threads that share the local memory, while the second level coordinates threads through the global memory. In this paper we present GPU-LocalTM as a hardware TM (HTM) support for the first level. GPU-LocalTM offers simple conflict detection and version management mechanisms that minimize the hardware resources required for its implementation. For the workloads studied, GPU-LocalTM provides between 1.25-80X speedup over serialized critical sections, while the overhead introduced by transaction management is lower than 20%.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Hardware support for scratchpad memory transactions on GPU architectures

    Get PDF
    Graphics Processing Units (GPUs) have become the accelerator of choice for data-parallel applications, enabling the execution of thousands of threads in a Single Instruction - Multiple Thread (SIMT) fashion. Using OpenCL terminology, GPUs offer a global memory space shared by all the threads in the GPU, as well as a low-latency local memory space shared by a subset of the threads. The latter is used as a scratchpad to improve the performance of the applications. We propose GPU-LocalTM, a hardware transactional memory (TM), as an alternative to data locking mechanisms in local memory. GPU-LocalTM allocates transactional metadata in the existing memory resources, minimizing the storage requirements for TM support. In addition, it ensures forward progress through an automatic serialization mechanism. In our experiments, GPU-LocalTM provides up to 100X speedup over serialized execution.This work has been supported by projects TIN2013-42253-P and TIN2016-80920-R, from the Spanish Government, P11-TIC8144 and P12-TIC1470, from Junta de Andalucía, and Universidad de Málaga, Campus de Excelencia Internacional, Andalucía Tech

    RACFP: una herramienta didáctica para el estudio de la representación, algoritmos y circuitos de coma flotante

    Get PDF
    El diseño de herramientas pedagógicas es un desafío interesante en la enseñanza de cualquier área. En este sentido, muchas herramientas han sido propuestas como apoyo para el aprendizaje de la aritmética digital, tanto entera como en coma flotante. Este último tipo de aritmética es mucho más compleja y requiere más esfuerzo para su aprendizaje. Sin embargo, debido a restricciones temporales, los planes de estudio en cursos universitarios de ingeniería de computadores no dedican tanto tiempo como sería deseable al estudio de la aritmética en coma flotante. En este artículo, se propone RACFP, una herramienta pedagógica diseñada para tratar los siguientes aspectos relacionados con la aritmética en coma flotante: representación, algoritmos de operaciones aritméticas y circuitos hardware reales. Estos tres niveles de abstracción se encuentran implementados independientemente en RACFP, por lo que la herramienta es útil también en otras disciplinas diferentes de arquitectura de computadores, como matemática discreta, métodos numéricos, etc., donde las implicaciones de la representación en coma flotante resulta un aspecto de especial interés. El diseño de RACFP persigue dos objetivos principales: reducir la dificultad del proceso de aprendizaje y animar a los estudiantes al estudio de la aritmética en coma flotante. RACFP consigue estos dos objetivos gracias a su diseño en varios niveles y a su enfoque en la implementación de circuitos reales.Este trabajo está subvencionado parcialmente por la Generalitat Valenciana (GV04B/487, GV06/326) y por la Comisión Interministerial de Ciencia y Tecnología (TIC200308154C0601)

    Efficient register renaming and recovery for high-performance processors

    Full text link
    © © 2014 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.”Modern superscalar processors implement register renaming using either random access memory (RAM) or content-addressable memories (CAM) tables. The design of these structures should address both access time and misprediction recovery penalty. Although direct-mapped RAMs provide faster access times, CAMs are more appropriate to avoid recovery penalties. The presence of associative ports in CAMs, however, prevents them from scaling with the number of physical registers and pipeline width, negatively impacting performance, area, and energy consumption at the rename stage. In this paper, we present a new hybrid RAM CAM register renaming scheme, which combines the best of both approaches. In a steady state, a RAM provides fast and energy-efficient access to register mappings. On misspeculation, a low-complexity CAM enables immediate recovery. Experimental results show that in a four-way state-ofthe- art superscalar processor, the new approach provides almost the same performance as an ideal CAM-based renaming scheme, while dissipating only between 17% and 26% of the original energy and, in some cases, consuming less energy than purely RAM-based renaming schemes. Overall, the silicon area required to implement the hybrid RAM CAM scheme does not exceed the area required by conventional renaming mechanisms.This work was supported in part by the Spanish MINECO under Grant TIN2012-38341-C04-01.Petit Martí, SV.; Ubal Tena, R.; Sahuquillo Borrás, J.; López Rodríguez, PJ. (2014). Efficient register renaming and recovery for high-performance processors. IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 22(7):1506-1514. https://doi.org/10.1109/TVLSI.2013.2270001S1506151422

    A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions

    Full text link
    Out-of-order retirement of instructions has been shown to be an effective technique to increase the number of in-flight instructions. This form of runtime scheduling can reduce pipeline stalls caused by head-of-line blocking effects in the reorder buffer (ROB). Expanding the width of the instruction window can be highly beneficial to multiprocessors that implement a strict memory model, especially when both loads and stores encounter long latencies due to cache misses, and whose stalls must be overlapped with instruction execution to overcome the memory latencies. Based on the Validation Buffer (VB) architecture (a previously proposed out- of-order retirement, checkpoint-free architecture for single processors), this paper proposes a cost-effective, scalable, out-of-order retirement multiprocessor, capable of enforcing sequential consistency without impacting the design of the memory hierarchy or interconnect. Our simulation results indicate that utilizing a VB can speed up both relaxed and sequentially consistent in-order retirement in future multiprocessor systems by between 3 and 20 percent, depending on the ROB size.Ubal Tena, R.; Sahuquillo Borrás, J.; Petit Martí, SV.; López Rodríguez, PJ.; Kaeli, D. (2012). A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions. IEEE Transactions on Parallel and Distributed Systems. 23(8):1361-1368. doi:10.1109/TPDS.2011.255S1361136823

    Avances en el modelado de la transferencia de líquido entre una cavidad y un rodillo rotante

    Get PDF
    El desarrollo de nuevos materiales poliméricos y tintas conductoras, como por ejemplo los que se utilizan en pantallas OLEDs y similares, permite que en la fabricación de dispositivos se puedan utilizar tecnologías de impresión tradicionales como el roto-grabado (gravure printing). Esta técnica de impresión es un proceso continuo, con alta resolución, alta velocidad de producción y con un amplio rango de viscosidades del fluido trabajo. Allí las cavidades son llenadas con el fluido, que luego es transferido por contacto directo con el sustrato flexible donde se va a imprimir. Para modelar este proceso, se debe resolver la dinámica de fluidos viscosos en escala micrométrica y en presencia de interfases y líneas de contacto, donde las fuerzas de tensión superficial son dominantes. Por ello se desarrolló un modelo plano bidimensional (2D), representación del proceso de transferencia de líquido desde una cavidad trapezoidal a una placa plana. Allí se resolvieron las ecuaciones de Navier-Stokes, tanto en régimen de flujo de Stokes como incorporando las fuerzas de inercia. Queda por lo tanto un problema de flujo viscoso en un dominio deformable y variable en el tiempo, considerando las fuerzas de tensión superficial en la interfases líquido-gas y, donde estas se encuentran con las superficies sólidas, la dinámica de las líneas de contacto. El sistema de ecuaciones diferenciales se resolvió con el método de elementos finitos en el software comercial COMSOL Multiphysics.En primer lugar se resolvió el modelo con fuerzas de inercia nulas, quedando como parámetro adimensional más representativo el número capilar Ca=μV/σCa = \mu V / \sigma (donde VV es una velocidad característica, μ\mu la viscosidad y σ\sigma la tensión superficial), relación entre las fuerzas viscosas y capilares del problema. Posteriormente se incorporó la incidencia de la inercia a través del término de aceleración convectiva de Navier-Stokes, introduciendo el número de Reynolds Re=ρVδ/μRe = \rho V \delta / \mu (donde ρ\rho es la densidad y δ\delta una longitud característica) como parámetro. Cuando el número de Reynolds se eleva hasta Re10Re \sim 10, la fracción transferida aumenta alrededor de un 40\%, dependiendo del rango de operación. Esto se debe a que se incrementa la movilidad en las líneas de contacto, favoreciendo una mayor remoción de líquido en la cavidad.En el modelo se evaluó también la influencia de fuerzas de cuerpo no-inerciales (fuerzas ficticias, sistema de referencia no inercial); allí la inclusión de la inercia tiene un efecto más notable sobre la posición y tamaño del patrón impreso en el rango 0,05<Ca<0,150,05 < Ca < 0,15. Cabe destacar que la movilidad de las líneas de contacto es crucial para mantener la precisión y fidelidad del patrón impreso.Por último, se incluyó en el modelo la variación del ángulo de contacto en función de la velocidad relativa entre la propia línea y la superficie (ángulo dinámico). Se modifica el ángulo de contacto dinámico de manera proporcional a la velocidad relativa entre la superficie y la línea de contacto, siendo la constante de proporcionalidad GCaG Ca, donde GG es un parámetro de fricción entre la línea de contacto y la superficie. Esto sugiere que la movilidad de la línea de contacto se podría controlar a través de una combinación de los parámetros físico-químicos y condiciones de operación del proceso. Los resultados muestran que el modelo de ángulo de contacto dinámico es más relevante a bajos valores del CaCa.Fil: Diaz Arias, Rafael David. Universidad Nacional de Entre Ríos. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática - Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática; Argentina. Universidad Nacional de Entre Ríos. Facultad de Ingeniería; ArgentinaFil: Ubal, Sebastian. Universidad Nacional de Entre Ríos. Facultad de Ingeniería; Argentina. Universidad Nacional de Entre Ríos. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática - Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática; ArgentinaFil: Campana, Diego Martin. Universidad Nacional de Entre Ríos. Facultad de Ingeniería; Argentina. Universidad Nacional de Entre Ríos. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática - Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Investigación y Desarrollo en Bioingeniería y Bioinformática; ArgentinaXVI Reunión sobre Recientes Avances en Física de Fluidos y sus AplicacionesOro VerdeArgentinaUniversidad Nacional de Entre Ríos. Facultad de Ingenierí

    Hardware-based generation of independent subtraces of instructions in clustered processors

    Full text link
    © 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Multicore chips are currently dominating the microprocessor market as designs that improve performance and sustain power consumption. However, complex core features must be still considered to provide good performance for existing sequential applications. An effective approach to reduce core complexity without dramatically sacrificing performance is to distribute critical processor structures by using clustered microarchitectures. In these designs, communication latency among clusters is a critical performance bottleneck, and a good steering algorithm is required to reduce intercluster communication. In this paper, we propose a new energy-efficient microarchitectural approach that reduces intercluster communication by detecting and generating independent chains of instructions, referred to as subtraces, from the execution of sequential programs. The devised mechanism has been modeled on an x86-based trace-cache processor, where subtraces are built in the fill unit, stored in a trace cache, and individually steered to different clusters. Experimental results show that the proposal reaches performance speedups around 7 and 15 percent for point-to-point and bus-based interconnects, respectively, while achieving energy savings of up to 12 percent.This work was supported by the Spanish MICINN, Consolider Programme, and Plan E funds, as well as European Commission FEDER funds, under Grants CSD2006-00046 and TIN2009-14475-C04-01.Ubal Tena, R.; Sahuquillo Borrás, J.; Petit Martí, SV.; López Rodríguez, PJ.; Duato Marín, JF. (2013). Hardware-based generation of independent subtraces of instructions in clustered processors. IEEE Transactions on Computers. 62(5):944-955. https://doi.org/10.1109/TC.2012.42S94495562
    corecore